package DAO;

import java.util.ArrayList;

import model.BookDetailsDTO;

public interface BookDetailsDAO {

	public void insert(BookDetailsDTO bookDetails) throws NotFoundException;
	public void insert(String emergency, String priority, String fromDate, String toDate,
			String reason, String facilityName, String bookedOn, int bookedBy,
			String status, int modifiedBy, String modifiedOn, String comment) throws NotFoundException;
	public void update(BookDetailsDTO bookDetails) throws NotFoundException;
	public void update(int bookingID, String emergency, String priority, String fromDate, String toDate,
			String reason, String facilityName, String bookedOn, int bookedBy,
			String status, int modifiedBy, String modifiedOn, String comment) throws NotFoundException;
	public void delete(BookDetailsDTO bookDetails) throws NotFoundException;
	public void cancel(BookDetailsDTO bookDetails) throws NotFoundException;
	public BookDetailsDTO FindByBookingID(int bookingID) throws NotFoundException;
	public ArrayList<BookDetailsDTO> findBookingHistory() throws NotFoundException;
	public ArrayList<BookDetailsDTO> findAwaitingApproval() throws NotFoundException; 
	public ArrayList<BookDetailsDTO> findAll() throws NotFoundException;
	public  BookDetailsDTO findBookingByBookingID(int bookingID) throws NotFoundException;
	public ArrayList<BookDetailsDTO> findAwaitingApprovalByUserID(int userID)
			throws NotFoundException;
	public ArrayList<BookDetailsDTO> findBookingHistoryById(int userID) throws NotFoundException;
}
